package leo.mystudy.leetcode;

/**
 * 4的幂
 *
 * @author chao.li@quvideo.com
 * @date 2018/6/29 17:45
 */
public class PowerOfFour {
    //    给定一个整数 (32位有符整数型)，请写出一个函数来检验它是否是4的幂。
//
//    示例:
//    当 num = 16 时 ，返回 true 。 当 num = 5时，返回 false。
//
//    问题进阶：你能不使用循环/递归来解决这个问题吗？
    public static void main(String[] args) {
        System.out.println(new PowerOfFour().isPowerOfFour(16));
    }

    public boolean isPowerOfFour(int num) {
        if (num <= 0) {
            return false;
        }
        if (num > 4 && num % 4 > 0) {
            return false;
        }
        if (num == 1) {
            return true;
        } else {
            return isPowerOfFour(num / 4);
        }
    }
}
